package com.iims.market.service;


import com.iims.market.domain.CmisOrder;
import com.iims.oder.vo.request.GroupOrderSearchQuery;
import com.iims.oder.vo.resp.OrderDetailVo;

import java.util.List;

/**
 * @author fanpei
 * @date 2021/7/3 13:31
 */
public interface IOrderService {

    /**
     * 获取简单订单列表
     *
     * @return
     */
    List<OrderDetailVo> selectCmisOrderList(CmisOrder cmisOrder);

    /**
     * 分组搜索
     *
     * @param groupSearchQuery
     * @return
     */
    List<OrderDetailVo> selectCmisOrderListByGroup(GroupOrderSearchQuery groupSearchQuery);

    /**
     * 获取指定项目可选列表
     *
     * @param proId
     * @return
     */
    List<OrderDetailVo> selectProEnableCmisOrderList(Long proId);

    /**
     * 获取订单详情
     *
     * @param orderId
     * @return
     */
    OrderDetailVo selectDetailById(Long orderId);

    /**
     * 新增保存订单信息
     *
     * @param cmisOrder 订单信息
     * @return 结果
     */
    int insertCmisOrder(CmisOrder cmisOrder);

    /**
     * 修改订单信息
     *
     * @param cmisOrder 订单信息
     * @return 结果
     */
    int updateCmisOrder(CmisOrder cmisOrder);

    /**
     * 删除订单管理信息
     *
     * @param orderId 订单ID
     * @return 结果
     */
    int deleteCmisOrderById(Long orderId);

    /**
     * 检查订单是否使用
     *
     * @param orderId
     * @return
     */
    boolean checkCmisOrderUse(Long orderId);
}
